package com.wgy.day26.Map练习;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/*
计算一个字符串中每个字符出现的次数
分析: 1.获取一个字符串
     2.创建一个Map集合,键代表字符,值代表次数
     3.遍历字符串中的每个字符
     4.判断Map中是否有该键
     5.如果没有就是第一次出现,存储次数为1,如果有,则说明已经出现过,获取到对应的值进行++,再存储一次,替换之前存储的value值
     6.打印最终的结果
     */
public class MapTest {
    public static void main(String[] args) {
        // 1.获取一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str = sc.next();
        //2.创建一个Map集合,键代表字符,值代表次数
        Map<Character, Integer> map = new HashMap<>();
        //3.遍历字符串中的每个字符
        char[] array = str.toCharArray();
        for (char c : array) {
            //4.判断Map中是否有该键
            if (map.containsKey(c)) {
                //如果有,则说明已经出现过,获取到对应的值进行++,再存储一次,替换之前存储的value值
                Integer value = map.get(c);
                value++;
                map.put(c, value);
            } else {
                //如果没有就是第一次出现,存储次数为1,
                map.put(c, 1);
            }
        }
        // 6.打印最终的结果
        System.out.println(map);
    }
}

